<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<html>
<head>
    <meta charset="utf-8">
    <title>calendar</title>
    <meta name="viewport" content="width=device-width, initial-scale=1"/>
    <link rel="stylesheet" href="lib/reset.css">
    <script src="lib/esl.js"></script>
    <script src="lib/config.js"></script>
    <script src="lib/jquery.min.js"></script>
</head>
<body>
<style>
    html, body, #main {
        width: 100%;
        height: 100%;
    }
</style>
<div id="main"></div>
<script>


    var getVirtulData = function (year) {

        year = year || '2017';

        var datas = [];

        var arr31 = [1, 3, 5, 7, 8, 10, 12];
        var arr30 = [4, 6, 9, 11];
        for (var i = 1; i <= 31; i++) {
            for (var j = arr31.length - 1; j >= 0; j--) {
                datas.push([year + '-' + arr31[j] + '-' + i, Math.floor(Math.random() * 1000)]);
            }
        }
        for (var i = 1; i <= 30; i++) {
            for (var j = arr30.length - 1; j >= 0; j--) {
                datas.push([year + '-' + arr30[j] + '-' + i, Math.floor(Math.random() * 1000)]);
            }
        }
        for (var i = 1; i <= 29; i++) {
            datas.push([year + '-2-' + i, Math.floor(Math.random() * 1000)]);
        }
        return datas;
    }
    require([
        'echarts'
        // 'echarts/chart/heatmap',
        // 'echarts/chart/scatter',
        // 'echarts/component/title',
        // 'echarts/component/legend',
        // 'echarts/component/calendar',
        // 'echarts/component/tooltip',
        // 'echarts/component/visualMap'
    ], function (echarts) {

        var chart = echarts.init(document.getElementById('main'));

        chart.setOption({
            tooltip: {
                position: 'top'
            },
            visualMap: {
                min: 0,
                max: 1000,
                calculable: true,
                orient: 'horizontal',
                left: 'center',
                top: 'top'
            },

            calendar: [
                {
                    monthLabel: {
                        formatter: '{yy}-{MM}',
                        position: 'start'
                    },
                    range: '2017-01'
                },
                {
                    monthLabel: {
                        formatter: '{yyyy}-{M}',
                        position: 'end'
                    },
                    left: 300,
                    range: '2017-02'
                },
                {
                    monthLabel: {
                        position: 'start',
                        posAlign: 'left'
                    },
                    left: 550,
                    range: '2017-03'
                },
                {
                    monthLabel: {
                        position: 'end',
                        posAlign: 'left'
                    },
                    left: 750,
                    range: '2017-04'
                },

                {
                    left: 1000,
                    monthLabel: {
                        nameMap: 'cn'
                    },
                    range: ['2017-12-01', '2018-01-31']
                },

                {
                    monthLabel: {
                        position: 'start'
                    },
                    top: 320,
                    orient: 'vertical',
                    range: '2017-01'
                },
                {
                    monthLabel: {
                        position: 'end'
                    },
                    top: 320,
                    left: 300,
                    orient: 'vertical',
                    range: '2017-02'
                },
                {
                    monthLabel: {
                        position: 'start',
                        posAlign: 'left'
                    },
                    top: 320,
                    orient: 'vertical',
                    left: 550,
                    range: '2017-03'
                },
                {
                    monthLabel: {
                        position: 'end',
                        posAlign: 'left'
                    },
                    top: 320,
                    orient: 'vertical',
                    left: 750,
                    range: '2017-04'
                },
                {
                    monthLabel: {
                        margin: 20,
                        formatter: '{yy}-{nameMap}',
                        textStyle: {
                            color: '#009688',
                            fontStyle: 'italic',
                            fontFamily: 'sans-serif',
                            fontWeight: 'bolder',
                            fontSize: 20
                        }
                    },
                    top: 320,
                    orient: 'vertical',
                    left: 1000,
                    range: ['2017-12-01', '2018-01-31']
                },
                {
                    monthLabel: {
                        nameMap: [
                            'Jan', '二月', 'Mar',
                            '四月', '五月', '六月',
                            '七月', '', '九月',
                            '十月', '十一月', '十二月'
                        ]
                    },
                    top: 550,
                    range: '2017'
                }],

            series: [{
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 0,
                data: getVirtulData(2017)
            }, {
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 1,
                data: getVirtulData(2017)
            }, {
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 2,
                data: getVirtulData(2017)
            }, {
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 3,
                data: getVirtulData(2017)
            }, {
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 4,
                data: getVirtulData(2017)
            }, {
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 5,
                data: getVirtulData(2017)
            }, {
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 6,
                data: getVirtulData(2017)
            }, {
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 7,
                data: getVirtulData(2017)
            }, {
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 8,
                data: getVirtulData(2017)
            }, {
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 9,
                data: getVirtulData(2017)
            }, {
                type: 'heatmap',
                coordinateSystem: 'calendar',
                calendarIndex: 10,
                data: getVirtulData(2017)
            }]

        });

        $(window).resize(function () {
            chart.resize();
        });
    });
</script>
</body>
</html>
